home *** CD-ROM | disk | FTP | other *** search
- /* This procedure creates one app object */
- PROC create_app()
-
- DEF app, wi_smallexample, grOUP_ROOT_0, gr_lists, lv_label_0
- DEF lv_label_1, gr_grp_1, bt_ok, bt_cancel
-
- DEF tmp_object : PTR TO obj_app
-
- IF ( tmp_object := New( SIZEOF obj_app ) ) = NIL THEN RETURN NIL
-
-
- app := ApplicationObject,
- MUIA_Application_Author, 'Eric Totel',
- MUIA_Application_Base, 'SMALL',
- MUIA_Application_Title, 'Small_Example',
- MUIA_Application_Version, '$VER : Small 1.0',
- MUIA_Application_Copyright, '(c) 1993 Eric Totel',
- MUIA_Application_Description, 'Here is a small example of MUI-Builder',
- MUIA_HelpFile, 'small.guide',
- SubWindow, wi_smallexample := WindowObject,
- MUIA_Window_Title, 'Small example',
- MUIA_HelpNode, 'WI_smallexample',
- MUIA_Window_ID, MAKE_ID( "0", "W", "I", "N" ),
- WindowContents, grOUP_ROOT_0 := GroupObject,
- Child, gr_lists := GroupObject,
- GroupFrameT( 'two lists' ),
- MUIA_HelpNode, 'GR_lists',
- MUIA_Group_Horiz, MUI_TRUE,
- Child, lv_label_0 := ListviewObject,
- MUIA_HelpNode, 'LV_label_0',
- MUIA_Listview_List, DirlistObject,
- InputListFrame,
- MUIA_Dirlist_Directory, 'progdir:',
- MUIA_Dirlist_DrawersOnly, FALSE,
- MUIA_Dirlist_FilesOnly, FALSE,
- MUIA_Dirlist_FilterDrawers, FALSE,
- MUIA_Dirlist_MultiSelDirs, FALSE,
- MUIA_Dirlist_RejectIcons, FALSE,
- MUIA_Dirlist_SortDirs, MUIV_Dirlist_SortDirs_First,
- MUIA_Dirlist_SortHighLow, FALSE,
- MUIA_Dirlist_SortType, 0,
- End,
- End,
- Child, lv_label_1 := ListviewObject,
- MUIA_HelpNode, 'LV_label_1',
- MUIA_Listview_MultiSelect, MUIV_Listview_MultiSelect_Default,
- MUIA_Listview_List, VolumelistObject,
- InputListFrame,
- MUIA_Listview_DoubleClick, MUI_TRUE,
- End,
- End,
- End,
- Child, gr_grp_1 := GroupObject,
- MUIA_HelpNode, 'GR_grp_1',
- MUIA_Group_Horiz, MUI_TRUE,
- MUIA_Group_SameWidth, MUI_TRUE,
- Child, bt_ok := KeyButton( 'OK', "o" ),
- Child, bt_cancel := KeyButton( 'Cancel', "c" ),
- End,
- End,
- End,
- End
-
- tmp_object.app := app
- tmp_object.wi_smallexample := wi_smallexample
- tmp_object.grOUP_ROOT_0 := grOUP_ROOT_0
- tmp_object.gr_lists := gr_lists
- tmp_object.lv_label_0 := lv_label_0
- tmp_object.lv_label_1 := lv_label_1
- tmp_object.gr_grp_1 := gr_grp_1
- tmp_object.bt_ok := bt_ok
- tmp_object.bt_cancel := bt_cancel
-
- IF tmp_object.app = NIL
- Dispose( tmp_object )
- tmp_object := NIL
- ENDIF
-
- ENDPROC tmp_object
-
-
- /* This procedure deletes one app object */
- PROC dispose_app( tmp_object : PTR TO obj_app )
-
- Mui_DisposeObject( tmp_object.app )
- Dispose( tmp_object )
-
- ENDPROC
-
-
- /* DoMethod() function */
- PROC doMethod( obj:PTR TO object, msg:PTR TO msg )
-
- DEF h:PTR TO hook, o:PTR TO object, dispatcher
-
- IF obj
- o := obj-SIZEOF object /* instance data is to negative offset */
- h := o.class
- dispatcher := h.entry /* get dispatcher from hook in iclass */
- MOVEA.L h,A0
- MOVEA.L msg,A1
- MOVEA.L obj,A2 /* probably should use CallHookPkt, but the */
- MOVEA.L dispatcher,A3 /* original code (DoMethodA()) doesn't. */
- JSR (A3) /* call classDispatcher() */
- MOVE.L D0,o
- RETURN o
- ENDIF
-
- ENDPROC NIL
-